#ifndef BATTERY_MONITOR_H
#define BATTERY_MONITOR_H

#define FULL_VOLTAGE 12.6  // 满电电压
#define EMPTY_VOLTAGE 9.5  // 截止电压
#define HYSTERESIS 2       // 滞回阈值%
#define NUM_SAMPLES 10     // 读取样本数量
#define ADC_PIN 1          // 假设使用GPIO 34作为ADC输入引脚

extern float lastFilteredVoltage;
extern int displayedPercentage;
extern int lastStablePercentage;
extern bool isCharging;
extern float lastFilteredValue;

// 电池电量百分比计算函数
float getBatteryPercentage(float voltage);
void BatteryStatus_init();
// 读取电池电压并计算百分比
int readBatteryStatus();

#endif
